/*
*   Author:whuiry
*   Date:2020-06-19
*   Content:user operator
*   (operator:经营者；操作员；运营商；话务员；行家)
*/

const userDao=require('../dao/userDao');
const md5=require('../utils/md5/md5');

//1.注册：查询用户的存在性，否则增加
async function addUser(user) {
    var ret=await userDao.findByName(user.name);
    if(ret.success){
        return {success:false,msg:'用户已存在！'};
    }else {
        var data=await userDao.addUser(user);
        // 在dao层已做数据处理，直接返回
        return data;
    }
}

//2.登录：找出用户，然后进行密码匹配
//由于对数据库里的密码进行了md5验证，所以数据一般要进行密码验证
async function login(user) {
    var ret=await userDao.findByName(user.name);
    //找到用户那就进行密码判断，找不到用户就返回
    if (ret.success){
        var password=md5.toMd5(user.password);
        // console.log(ret);
        /* {
          success: true,
          msg: {
            _id: 5eedd41eebc1c2e881228cd5,
            name: 'zhangsang',
            email: '6858441624@qq.com',
            password: 'e10adc3949ba59abbe56e057f20f883e'
          }
        }*/
        // console.log("pwd:"+password+"--res.pwd:"+ret.password+"--:"+(password == ret.password));
        if (password == ret.msg.password){
            return {success:true,user:ret.msg};
        }else {
            return {success:false,msg:'用户密码不正确'};
        }
    }else {
       return {success:false,msg:'用户名不存在'};
    }

}

async function loginCookie(user) {
    var ret=await userDao.findByName(user.name);
    //找到用户那就进行密码判断，找不到用户就返回
    if (ret.success){
        // var password=md5.toMd5(user.password);
        if (user.password == ret.msg.password){
            return {success:true,user:ret.msg};
        }else {
            return {success:false,msg:'用户密码不正确'};
        }
    }else {
        return {success:false,msg:'用户名不存在'};
    }

}

//共享
exports.addUser=addUser;
exports.login=login;
exports.loginCookie=loginCookie;